﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Cesave.Domain.PermisosModule.Entities;

namespace Cesave.Domain.PermisosModule.Contracts.Ciclos
{
	/// <summary>
	/// 
	/// </summary>
	public interface ICicloService
		: IDisposable
	{
		/// <summary>
		/// 
		/// </summary>
		/// <returns></returns>
		List<Ciclo> FindAllCiclos();

		/// <summary>
		/// 
		/// </summary>
		/// <param name="status"></param>
		/// <returns></returns>
		List<Ciclo> FindCiclosByStatus(bool status = true);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="cicloGuid"></param>
		/// <returns></returns>
		Ciclo FindCicloByGuid(Guid cicloGuid);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="ciclo"></param>
		void MakeCicloActual(Ciclo ciclo);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="ciclo"></param>
		void AddCiclo(Ciclo ciclo);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="ciclo"></param>
		void ChangeCiclo(Ciclo ciclo);

		/// <summary>
		/// 
		/// </summary>
		/// <param name="ciclo"></param>
		void DeleteCiclo(Ciclo ciclo);

		/// <summary>
		/// 
		/// </summary>
		/// <returns></returns>
		Ciclo FindCicloActual();
	}
}
